package com.example.testng.utils;

import com.example.testng.utils.DatabaseUtil;

import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *  数据库验证工具
 */
public class DatabaseValidator {
    /**
     * 执行数据库验证查询
     * @param query 验证查询语句
     * @return 查询结果是否有记录
     */
    /**
     * 执行数据库验证查询并返回第一列的值，如果结果为0则抛出异常
     * @param query 验证查询语句
     * @return 查询结果的第一列值
     * @throws SQLException 如果查询执行失败或结果为0
     */
    public static int validateQueryAndGetCount(String query) throws SQLException {
        ResultSet resultSet = DatabaseUtil.executeQuery(query);
        if (resultSet.next()) {
            int count = resultSet.getInt(1); // 获取第一列的值（通常是COUNT(*)的结果）
            if (count == 0) {
                throw new SQLException("数据库验证失败: 查询返回结果为0。查询: " + query);
            }
            return count;
        }
        throw new SQLException("数据库验证失败: 查询没有返回任何结果。查询: " + query);
    }
    //再写一个方法，直接返回查询的结果
    public static ResultSet validateQueryAndGetResultSet(String query) throws SQLException {
        ResultSet resultSet = DatabaseUtil.executeQuery(query);
        return resultSet;
    }
}